﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Dominio;

namespace Servicios
{
    // NOTA: si cambia aquí el nombre de interfaz "IService1", también debe actualizar la referencia a "IService1" en App.config.
    [ServiceContract]
    public interface ICorreo
    {
        [OperationContract]
        Cuenta Login(String usuario, String contrasenia);

        [OperationContract]
        Mensaje MandarMensaje(String remitente, String destinatarios, String asunto, String Contenido);

        [OperationContract]
        Buzon RecibirMensajes(String cuenta);
        // TAREAS PENDIENTES: agregue aquí sus operaciones de servicio

        [OperationContract]
        Carpeta CrearCarpetaEnCarpeta(String nombre,Carpeta carpetaPadre, String cuenta, String tipoBuzon);

        [OperationContract]
        Carpeta CrearCarpetaEnBuzon(String nombre, Buzon buzonPadre, String cuenta);

        [OperationContract]
        bool EliminarCarpetaEnBuzon(Carpeta carpetaHija, Buzon buzonPadre);

        [OperationContract]
        bool EliminarCarpetaEnCarpeta(Carpeta carpetaHija,Carpeta carpetaPadre);

        [OperationContract]
        Buzon TraerBuzon(String cuenta, String tipo);
    }

    // Utilice un contrato de datos, como se ilustra en el ejemplo siguiente, para agregar tipos compuestos a las operaciones de servicio
}
